%!TEX root = tesis-header.tex
\section{Conclusiones y Trabajo futuro}

Cuando se inicia una tesis se concluyen los estudios y a su vez se inicia un proceso de maduración. Es una experiencia, contada generación tras generación, que reafirma el compromiso de cada profesionista con el mundo actual. Por lo menos en esta tesis, se puede afirmar que ha sido un proceso de re-descubrimiento. En el transcurso de la realización de la tesis se ha fortalecido el conocimiento de la programación orientado a objetos, el dominio de al menos 3 plataformas diferentes de escritorio y se ha probado el desarrollo en algunas plataformas móviles (J2ME, iPhone y PSP). Se llego a investigar el uso de varios APIs de desarrollo multimedia y, por ende, útiles para hacer videojuegos. No obstante lo anterior no es suficiente para estarse preparado para programar vidoeojuegos.

Se partió de la idea de que la tesis se desarrollara en un lenguaje Orientado a Objetos. Se vio practico iniciar con Java para dispositivos móviles (J2ME). Poco antes de registrarse la tesis, se dio cuenta de que no era lo suficientemente maduro esta tecnología (a inicios de 2006) para poder desarrollar el juego que se tenía en mente, por lo que se cambio de plataforma y lenguaje. Junto con estos dos cambios se hizo mas ambicioso el alcance del videojuego. Ahora el videojuego contemplaría el diseño y programación de mundos en 3D. Con este cambio se tuvo que adoptar otra historia, otro modo de juego y otro interface. Incluso se podía considerar elementos de inteligencia artificial.

De antemano se supo, por los cambios mencionados anteriormente, que algunos de los objetivos originales ya no eran realizables en el tiempo dispuesto para una tesis. Esto dejo muy en claro que el juego en si seria un alcance para la posteridad. Se desarrollaría el juego en estudios posteriores e incluso se prestaría para su posible explotación comercial. Mientras que lo anterior seria el objetivo final del juego, no obstante, el objetivo final de la tesis seria el inicio de su desarrollo. La tesis fue una exploración de nuevas tecnologías y nuevos conceptos que fueron totalmente desconocidos.

Se alcanzo cubrir muchos aspectos acerca de esta tecnología de 3D en tiempo real y se investigo mucho de lo involucrado en el desarrollo de videojuegos, cumpliendo con el objetivo final. Se ha cumplido con la documentación del proyecto y se hace su entrega, a la facultad de ingeniería, por medio de este trabajo escrito.\\

De los Resultados obtenidos, destacan:
\begin{quote}
\begin{itemize}
\item Se logro dominar el uso y desarrollo de herramientas 3D a partir del API de OGRE partiendo de la plataforma de Windows y, como consecuencia del mismo API, el dominio del lenguaje C++. El avance sobre esta linea de pensamiento, de expandir el conocimiento de la tecnología, llevo a portar el desarrollo a las plataformas Linux y luego Mac OS X.
\item Se investigo a fondo las diferentes estrategias para implementar Inteligencia Artificial en un Engine basado en OGRE.
\item Se desarrollo un sistema de carga de escenas funcional, basado en XML, para facilitar el desarrollo gráfico del mismo juego.
\item Se porto una biblioteca de física en OGRE a la plataforma Mac OS X.
\item Se creo una variedad de escenas y personajes con los cuales, junto con las tecnologías antes mencionadas y el prototipo del motor, se realizara una aplicación de demostración que se distribuirá gratuitamente a todos los interesados.
\item Se hizo un intento de historia apta para un videojuego e igualmente apta para su divulgación por este medio (Lia Fail).
\item Se delineo los rubros y conceptos con el cual se piensa seguir desarrollando al juego hasta su posible venta en el futuro.
\end{itemize}
\end{quote}

Consecuentemente hubo mas desarrollos, paralelos a los anteriores, que no directamente caen dentro de los objetivos de la tesis pero que son igual de importantes en su aportación al aprendizaje. Los siguientes resultados adyacentes se anexan:

\begin{quote}
\begin{itemize}
\item Se investigo como se desarrollaría en consolas dedicados de videojuegos por medio del API de XNA, el SDK oficial de Playstation (1 y 2), El SDK oficial del iPhone y la no oficial del Playstation Portable (PSP).
\item Se logro explorar, gracias a la cercanía que se tuvo con la DGSCA, diferentes tecnologías (OpenSceneGraph, VrJuggler, Equalizer, Virtools, PVLE, etc.) que se podrían implementar en videojuegos. Se usan actualmente en el desarrollo de aplicaciones de Realidad Virtual.
\item Se hizo un intento de portar OGRE a un sistema de multidespliegue por medio de un cluster gráfico que recién se instalo en la Sala de Realidad Virtual Ixtli de la DGSCA, lo cual resulto muy exitoso dado que no existían precedentes para correr una aplicación OGRE en un ambiente de supercomputo (Esto se explica mas a detalle en el anexo ``OGRE en un cluster'', pag. \pageref{ogrecluster}).
\end{itemize}
\end{quote}

A la pregunta: ``¿Es pesado desarrollar un videojuego?'' Se responde, sí. La industria de los videojuegos no se caracteriza por ser tolerante con participantes nuevos.  No obstante este fue un paso importante para darse cuenta de los retos que se esperan.  Esta \textit{practica} en el desarrollo de videojuegos se presto para darse cuenta del nivel de programación que se requiere para poder integrarse a la industria de los videojuegos. Se concluye que es de suma importancia conocer el grado de rapidez con el cual se puede adaptar tanto a técnicas clásicas como al estado del arte en esta disciplina de la computación.

Se agradece a la facultad la oportunidad de acumular estas experiencias. Se agradece al apoyo moral invaluable que se obtuvo de los asesores. Se agradece a los amigos y familiares, así como los miembros participes de la Dirección General de Servicios de Computo Académico (DGSCA), que presenciaron el desarrollo de esta tesis. Que nunca se extingue en México la pasión por hacer realidad los sueños.